package com.woniuxy.woniuhis.mapper;

import org.apache.ibatis.annotations.Param;

import com.woniuxy.woniuhis.entity.Inpatient;

import java.util.Date;
import java.util.List;

/**
 * 住院患者的增删改查
 */
public interface InpatientMapper {

    /**
     * 添加一个住院病人
     *
     * @param inpatient 住院患者对象
     */
    void insertInpatient(Inpatient inpatient);

    /**
     * 根据住院患者的主键id删除
     *
     * @param inpatientId 住院患者的主键id
     */
    void deleteInpatientById(String inpatientId);

    /**
     * 更改住院患者信息
     *
     * @param inpatient 住院患者对象（更改的对象必须有主键，根据主键修改）
     */
    void updateInpatient(Inpatient inpatient);

    /**
     * 根据住院患者id查询住院患者对象
     *
     * @param inpatientId 住院患者id主键
     * @return 住院患者的所有信息
     */
    Inpatient selectInpatientById(String inpatientId);

    /**
     * 根据条件查询住院患者
     *
     * @param condition 查询条件，
     *                  condition的outDate为null，inDate不为null的时候查询所有未出院的，
     *                  condition的outDate不为null，indate不为null的时候查询的是已经出院的
     * @return 所有符合条件的住院患者集合
     */
    List<Inpatient> selectInpatientListByCondition(@Param("inpatient") Inpatient condition, @Param("pageNum") Integer pageNum, @Param("pageSize") Integer pageSize);
	/**
	 * beginDate-住院开始时间
	 * endDate-住院结束时间
	 *条件查询病人
	 */
    List<Inpatient> selectInpatientByPay(@Param("inpatient") Inpatient condition,@Param("beginDate")Date beginDate,@Param("endDate")Date endDate);
}
